pre commit